/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package cz.muni.fi.veles;

import javax.faces.component.UIComponentBase;
import org.richfaces.cdk.annotations.Attribute;
import org.richfaces.cdk.annotations.Description;
import org.richfaces.cdk.annotations.JsfComponent;
import org.richfaces.cdk.annotations.JsfRenderer;

/**
 * Class represent JSF component, which is used to represent location on map
 * @author Jan Ferko
 */
@JsfComponent(
    family=AbstractLocation.COMPONENT_FAMILY,
    type=AbstractLocation.COMPONENT_TYPE,
    renderer=@JsfRenderer(family=AbstractLocation.COMPONENT_FAMILY, type="cz.muni.fi.veles.LocationRenderer")
)
public abstract class AbstractLocation extends UIComponentBase {
    public static final String COMPONENT_TYPE = "cz.muni.fi.veles.Location";
    public static final String COMPONENT_FAMILY = "cz.muni.fi.veles";

    /**
     * Latitude of location
     * @return latitude of location
     */
    @Attribute(required=true)
    public abstract Double getLatitude();

    /**
     * Returns Longitude of location
     * @return longitude of location
     */
    @Attribute(required=true)
    public abstract Double getLongitude();
    
}
